The present invention relates to network communications and, more particularly, to a method and circuit for forming asynchronous transfer method (ATM) cells from Common Parts Sublayer (CPS) packets according to the ATM Adaptive Layer 2 (AAL2) protocol.
ATM is a standard for broadband ISDN in network communications systems. ATM systems have been implemented world-wide in many networks including both private and public environments. ATM is used extensively by most public service providers today to integrate all different types of traffic into one network.
The basic idea of ATM is to segment data in small cells and then transfer these small cells by the use of cell-switching. Such cells have a uniform layout and a fixed size of 53 bytes, which greatly simplifies switching. Referring to FIG. 2(b), an ATM cell 10 is shown. The ATM cell 10 has a 5 byte header (administrative information) and 48 bytes of payload (data). The 48 bytes of payload may optionally contain a 1 byte control field and 47 bytes of actual data, or all 48 bytes may be data.
The ATM Adaption layers (AAL) are service-dependent sublayers of the data link layer. The AAL accepts data from different applications and presents it to the ATM layer as the 48-byte ATM payload segments. AAL2 is one of four types of ATM adaptive layer protocols recommended by CCITT, the others being AAL1, AAL3/4 and AAL5.
AALs differ on the basis of the source-destination timing used, whether they use constant bit rate (CBR) or variable bit rate (VBR), and whether they are used for connection-oriented or connectionless mode data transfer. AAL1 supports connection-oriented services that require constant bit rates and have specific timing and delay requirements. Typically this translates to uncompressed digitized voice or video, which consists of a constant stream of data. AAL2 is used for connection-oriented services that do not require constant bit rates, but which have timing and delay requirements. It is targeted to compressed video or sound. AAL2 transfers information at a variable bit rate. AAL3/4 is intended for both connectionless and connection-oriented links with variable bit rates. AAL3/4 was originally two separate adaption layers, but have since been merged into a single AAL. AAL3/4 is primarily used for the transmission of SMDS packets over ATM networks. AAL5 supports connection-oriented services that require variable bit rates, such as computer communications, which are characterized by short bursts of data transfer in which delay and timing are not crucial. AAL5 is the least complex of the current AAL recommendations. It offers low bandwidth overhead and simpler processing requirements in exchange for reduced bandwidth capacity and error-recovery capability. AAL5 can be implemented in silicon.
Links from WCDMA access networks and core GSM networks use the AAL2 transmission protocol. The AAL2 protocol is used for transmissions between radio base stations and mobile switching centers by the base station controllers. AAL2 permits a great number of data packets to be transmitted efficiently with little delay. Thus, data are transmitted only when the user is in an active session. This highly efficient way of handling data packets can increase the capacity of a standard E1/T1 line to approximately 300 voice calls, compared to about 30 voice calls with today""s networks.
Referring to FIG. 2(a), an AAL2 CPS packet 12 is shown. The CPS packet 12 has a three (3) byte header and a CPS-INFO field or payload 13 that can vary in length from one (1) to sixty-four (64) bytes. That is, the CPS packet 12 has a variable length. FIG. 1 shows a portion of the layered protocol stack 14, where layer 1 is the physical layer. In layer 2, the AAL2 operation 16 is shown encircled by the broken chain line.
Referring now to FIG. 3, the AAL2 operation 16 is shown in greater detail. In the AAL2 operation 16, ATM cells 10a-10c are formed from CPS packets 12a-12d. During the cell assembly process, if the size of a CPS packet 12 is larger than the remaining bytes of a partially filled ATM cell 10, than the CPS packet 12 is fragmented to fill the available bytes. For example, CPS packet 12a does not fill ATM cell 10a. However, CPS packet 12b is too large to fit into the remaining portion of ATM cell 10a. Accordingly, the payload of the CPS packet 12b is split into two parts, 13b1, 13b2, with the first part 13b1 filling the first ATM cell 10a and the second part 13b2 forming part of the next ATM cell 10b. Similarly, CPS packet 12c is too large to fit into ATM cell 10a, so the payload of CPS packet 12c is split into two parts 13c1, 13c2, with the first part 13c1 filling the remaining portion of ATM cell 10b and the second part 13c2 being used to form ATM cell 10c. 
In the International Telecommunications Union (ITU) specification I.363.2 of AAL2, there is a timer mechanism called TimerCU that is used for avoiding excessive transmission delay for delay sensitive data, such as voice data. According to the ITU specification, the TimerCU is to be started every time a new CPS packet 12 is packed into an ATM cell 10. Thus, referring again to FIG. 3, at point A the TimerCU is started and at points B, C and D, the TimerCU is restarted. If the TimerCU times out before the current ATM cell is filled, the AAL2 protocol specifies that the remaining space in the ATM cell 10 is to be padded with zero and then the ATM cell 10 is to be sent to the physical interface (layer1). Since the length of the CPS packet payload 13 is bounded by 64 bytes, the TimerCU is activated at least every 64 bytes of data. Without specific hardware assistance, such a frequent timer triggering degrades processor performance. However, providing a hardware timer for each AAL2 channel is expensive. Further, providing a software timer for each AAL2 channel is a performance burden on the processor.
In order to provide more efficient processing operation, the present invention provides a method of generating ATM cells from CPS packets, including the steps of forming the ATM cells by packing the ATM cells with the CPS packets and triggering a TimerCU only when there is one CPS packet remaining to be packed.
The present invention further provides a method of forming an ATM cell from at least one CPS packet, comprising packing the ATM cell with at least a part of the at least one CPS packet, wherein a TimerCU is not triggered unless the at least one CPS packet is a last available CPS packet.
The present invention also provides a method of forming an ATM cell having a fixed length from at least one CPS packet, comprising the steps of placing a header at a beginning of the ATM cell, packing the ATM cell with at least a part of a payload of the at least one CPS packet, wherein a TimerCU is not triggered unless the at least one CPS packet is a last available CPS packet and padding the ATM cell if the ATM cell is not filled by the payload of the CPS packet.